package com.suray.basic.wcs.plc.oper;

import com.suray.basic.wcs.plc.enums.Direction;
import com.suray.basic.wcs.plc.pojo.oper.StationOper;

import java.io.IOException;

/**
 * @author shaozn
 * @date 2020/1/22 - 13:13
 * @Description PLC发送操作接口
 */
public interface PlcOper {
    /**
     * 写入数据合格信号
     *
     * @param deviceNo 设备编号
     * @param eligible 是否合格
     */
    void dataEligible(int deviceNo, boolean eligible) throws IOException;

    /**
     * 写入读取完成信号
     *
     * @param deviceNo 设备编号
     * @param complete 完成信号
     */
    void readComplete(int deviceNo, boolean complete) throws IOException;

    /**
     * 单体控制工位运转
     *
     * @param stationNo 工位编号
     * @param direction 运行方向
     */
    void StationRunning(int stationNo, Direction direction) throws IOException;

    /**
     * 控制输送线起点到终点运行
     *  @param palletNo    托盘号/任务号
     * @param Start       起点工位号
     * @param destination 终点工位号
     */
    void conveyorTask(int palletNo, StationOper Start, StationOper destination) throws IOException;

    /**
     * 单体控制自动门
     *
     * @param doorNo 自动门编号
     * @param open   开启状态
     */
    void automaticDoor(int doorNo, boolean open) throws IOException;


    /**
     * 拆碟盘机（未完待续...）
     */
}
